//
//  Dot.h
//  TQLSmartPen
//
//  Created by tql on 2017/10/20.
//  Copyright © 2017年 tqlZj. All rights reserved.
//

/**
 * Author : LW
 * Date Modify: 2020.12.23
 * Content : 1. 去除原来的 toAbsoluteX 改在分类中 ; 2. 添加description 效果等同toString
 *
 */

#import <Foundation/Foundation.h>
/** 点的类型
 * 第一个force大于零为down,force等于零为up
 * 中间的点为move,
 * 异常的点统称为飞点 Fly
 */
typedef NS_ENUM(NSInteger, DotType) {
    PEN_DOWN = 0,
    PEN_MOVE = 1,
    PEN_UP = 2,
    PEN_FLY = 3 //飞点定义
};

@interface Dot : NSObject

@property (nonatomic, assign) int SectionID;/**区域id*/
@property (nonatomic, assign) int OwnerID;/**用户id*/
@property (nonatomic, assign) int BookID;/**书本id*/
@property (nonatomic, assign) int PageID;/**页id*/
@property (nonatomic, assign) int counter;/**点计数器 0-255*/
@property (nonatomic, assign) int force;/**笔的压力*/
@property (nonatomic, assign) int angle;/**笔的角度*/
@property (nonatomic, assign) int x;/**x坐标整数部分*/
@property (nonatomic, assign) int fx;/**x坐标小数部分*/
@property (nonatomic, assign) int y;/**y坐标整数部分*/
@property (nonatomic, assign) int fy;/**y坐标小数部分*/
@property (nonatomic, assign) long long timelong; /*为了兼容32位，将原来的long 改为long long*/
@property (nonatomic, assign) DotType type;/**定义点的类型,力为0则是提起状态*/

/**内部变量，不供处面使用。
 *
 */
//@property (nonatomic, assign) float ab_x;
//@property (nonatomic, assign) float ab_y;
//@property (nonatomic, assign) BOOL isRight;

/** get DOT string Value */
- (NSString *)toString ;//也可以直接用description 来查看Dot的信息
/** get real coordinate (add x and fx) And mul 15*/
//- (float)toAbsoluteX:(int)ax fx:(int)afx;

/**
 * 深拷贝一个Dot
 */
-(Dot*)cloneDot;//代替 NScopying 
@end
